﻿using System;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Configuration;

namespace Gui.Functies.Agenda
{
    public partial class Agendapunten : UserControl
    {
        private string date;
        private string note;
        private int projectnummer;
        private static string conn = ConfigurationManager.ConnectionStrings["con1"].ConnectionString;
        MySqlConnection grabConnection = new MySqlConnection(conn);
        
        //Constructor
        public Agendapunten(int projectID)
        {
            InitializeComponent();
            projectnummer = projectID;
            btn_Confirm.Hide();
            richTextBoxNote.Hide();
            labelAgenda.Hide();
        }
        //Roept de methode aan om het nieuwe agendapunt op te slaan.
        private void btn_Confirm_Click(object sender, EventArgs e)
        {
            date = textBoxDate.Text;
            note = richTextBoxNote.Text;

            if (date != "" && note != "")
            {
                saveNote();
                Controls.Clear();
                Controls.Add(new Agenda(projectnummer));
            }
            else
            {
                MessageBox.Show("Niet alle velden zijn ingevuld!");
            }
        }
        //Slaat het nieuwe agendapunt op.
        public void saveNote()
        {
            MySqlCommand agenda = new MySqlCommand("INSERT INTO agenda (date, note, projectID)" + "VALUES (@date, @note, @projectID)", grabConnection);
            agenda.Parameters.Add(new MySqlParameter("date", date));
            agenda.Parameters.Add(new MySqlParameter("note", note));
            agenda.Parameters.Add(new MySqlParameter("projectID", projectnummer));

            try
            {
                grabConnection.Open();
                agenda.ExecuteNonQuery();
            }
            catch (MySqlException e)
            {
                MessageBox.Show(e.ToString());
            }
            finally
            {
                grabConnection.Close();
            }
        }
        //Houd bij welke datum je hebt aangeklikt door de datum te veranderen in de textbox.
        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            textBoxDate.Text = monthCalendar.SelectionStart.ToString();
        }
        //Opent het tekstvak om een de bijbehorende tekst voor een agendapunt te schrijven.
        private void btn_Confirmdate_Click(object sender, EventArgs e)
        {
            btn_Confirm.Show();
            btn_Confirmdate.Hide();
            richTextBoxNote.Show();
            labelAgenda.Show();
            monthCalendar.Hide();
        }
    }
}
